"use strict";

module.exports = {
  // 在执行数据库升级时调用的函数，创建表
  up: async (queryInterface, Sequelize) => {
    const { INTEGER, DATE, STRING } = Sequelize;
    await queryInterface.createTable("role", {
      id: {
        type: INTEGER,
        primaryKey: true,
        autoIncrement: true,
        comment: "角色唯一标识符",
      },
      role_name: {
        allowNull: false,
        type: STRING(100),
        comment: "角色名称，最大长度100个字符",
      },
      role_route: {
        type: STRING(100),
        comment: "角色路由，最大长度100个字符",
      },
      is_show: {
        type: INTEGER,
        defaultValue: 1,
        comment: "角色是否显示，1为显示，0为隐藏",
      },
      created_at: {
        type: DATE,
        comment: "记录创建时间",
      },
      updated_at: {
        type: DATE,
        comment: "记录最后更新时间",
      },
    });
  },
  // 在执行数据库降级时调用的函数，删除表
  down: async (queryInterface) => {
    await queryInterface.dropTable("role");
  },
};
